package org.budo.filestore.wrapper;

import java.io.InputStream;

import org.budo.filestore.api.DeleteResponse;
import org.budo.filestore.api.DownloadRequest;
import org.budo.filestore.api.FileMeta;
import org.budo.filestore.api.FileStore;
import org.budo.filestore.api.UploadRequest;
import org.budo.filestore.api.UploadResponse;

import lombok.Getter;
import lombok.Setter;

/**
 * @author lmw
 */
@Getter
@Setter
public class FileStoreWrapper implements FileStore {
    private FileStore fileStore;

    @Override
    public UploadResponse upload(UploadRequest request) {
        return this.getFileStore().upload(request);
    }

    @Override
    public String downloadUrl(DownloadRequest request) {
        return this.getFileStore().downloadUrl(request);
    }

    @Override
    public InputStream downloadStream(DownloadRequest request) {
        return this.getFileStore().downloadStream(request);
    }

    @Override
    public String uploadToken(UploadRequest request) {
        return this.getFileStore().uploadToken(request);
    }

    @Override
    public DeleteResponse delete(DownloadRequest request) {
        return this.getFileStore().delete(request);
    }

    @Override
    public FileMeta getFileMeta(DownloadRequest request) {
        return this.getFileStore().getFileMeta(request);
    }
}
